<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1">
<title>TFTP (Commons Net 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="TFTP (Commons Net 3.3 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TFTP.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/net/tftp/TFTPAckPacket.html" title="class in org.apache.commons.net.tftp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/net/tftp/TFTP.html" target="_top">Frames</a></li>
<li><a href="TFTP.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.net.tftp</div>
<h2 title="Class TFTP" class="title">Class TFTP</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/net/DatagramSocketClient.html" title="class in org.apache.commons.net">org.apache.commons.net.DatagramSocketClient</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.net.tftp.TFTP</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/commons/net/tftp/TFTPClient.html" title="class in org.apache.commons.net.tftp">TFTPClient</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.48">TFTP</a>
extends <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html" title="class in org.apache.commons.net">DatagramSocketClient</a></pre>
<div class="block">The TFTP class exposes a set of methods to allow you to deal with the TFTP
 protocol directly, in case you want to write your own TFTP client or
 server.  However, almost every user should only be concerend with
 the <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#open()"><code>open() </code></a>,
 and <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#close()"><code>close() </code></a>,
 methods. Additionally,the a
 <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#setDefaultTimeout(int)"><code>setDefaultTimeout() </code></a>
  method may be of importance for performance tuning.
 <p>
 Details regarding the TFTP protocol and the format of TFTP packets can
 be found in RFC 783.  But the point of these classes is to keep you
 from having to worry about the internals.
 <p>
 <p></div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/net/DatagramSocketClient.html" title="class in org.apache.commons.net"><code>DatagramSocketClient</code></a>, 
<a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp"><code>TFTPPacket</code></a>, 
<a href="../../../../../org/apache/commons/net/tftp/TFTPPacketException.html" title="class in org.apache.commons.net.tftp"><code>TFTPPacketException</code></a>, 
<a href="../../../../../org/apache/commons/net/tftp/TFTPClient.html" title="class in org.apache.commons.net.tftp"><code>TFTPClient</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#ASCII_MODE">ASCII_MODE</a></strong></code>
<div class="block">The ascii transfer mode.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#BINARY_MODE">BINARY_MODE</a></strong></code>
<div class="block">The binary transfer mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#DEFAULT_PORT">DEFAULT_PORT</a></strong></code>
<div class="block">The default TFTP port according to RFC 783 is 69.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#DEFAULT_TIMEOUT">DEFAULT_TIMEOUT</a></strong></code>
<div class="block">The default number of milliseconds to wait to receive a datagram
 before timing out.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#IMAGE_MODE">IMAGE_MODE</a></strong></code>
<div class="block">The image transfer mode.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#NETASCII_MODE">NETASCII_MODE</a></strong></code>
<div class="block">The netascii transfer mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#OCTET_MODE">OCTET_MODE</a></strong></code>
<div class="block">The octet transfer mode.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.net.DatagramSocketClient">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.commons.net.<a href="../../../../../org/apache/commons/net/DatagramSocketClient.html" title="class in org.apache.commons.net">DatagramSocketClient</a></h3>
<code><a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#_isOpen_">_isOpen_</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#_socket_">_socket_</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#_socketFactory_">_socketFactory_</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#_timeout_">_timeout_</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#TFTP()">TFTP</a></strong>()</code>
<div class="block">Creates a TFTP instance with a default timeout of DEFAULT_TIMEOUT,
 a null socket, and buffered operations disabled.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#beginBufferedOps()">beginBufferedOps</a></strong>()</code>
<div class="block">Initializes the internal buffers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#bufferedReceive()">bufferedReceive</a></strong>()</code>
<div class="block">This is a special method to perform a more efficient packet receive.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#bufferedSend(org.apache.commons.net.tftp.TFTPPacket)">bufferedSend</a></strong>(<a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a>&nbsp;packet)</code>
<div class="block">This is a special method to perform a more efficient packet send.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#discardPackets()">discardPackets</a></strong>()</code>
<div class="block">This method synchronizes a connection by discarding all packets that
 may be in the local socket buffer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#endBufferedOps()">endBufferedOps</a></strong>()</code>
<div class="block">Releases the resources used to perform buffered sends and receives.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#getModeName(int)">getModeName</a></strong>(int&nbsp;mode)</code>
<div class="block">Returns the TFTP string representation of a TFTP transfer mode.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#receive()">receive</a></strong>()</code>
<div class="block">Receives a TFTPPacket.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/tftp/TFTP.html#send(org.apache.commons.net.tftp.TFTPPacket)">send</a></strong>(<a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a>&nbsp;packet)</code>
<div class="block">Sends a TFTP packet to its destination.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.net.DatagramSocketClient">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.net.<a href="../../../../../org/apache/commons/net/DatagramSocketClient.html" title="class in org.apache.commons.net">DatagramSocketClient</a></h3>
<code><a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#close()">close</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#getCharset()">getCharset</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#getCharsetName()">getCharsetName</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#getDefaultTimeout()">getDefaultTimeout</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#getLocalAddress()">getLocalAddress</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#getLocalPort()">getLocalPort</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#getSoTimeout()">getSoTimeout</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#isOpen()">isOpen</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#open()">open</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#open(int)">open</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#open(int, java.net.InetAddress)">open</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#setCharset(java.nio.charset.Charset)">setCharset</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#setDatagramSocketFactory(org.apache.commons.net.DatagramSocketFactory)">setDatagramSocketFactory</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#setDefaultTimeout(int)">setDefaultTimeout</a>, <a href="../../../../../org/apache/commons/net/DatagramSocketClient.html#setSoTimeout(int)">setSoTimeout</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="ASCII_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ASCII_MODE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.53">ASCII_MODE</a></pre>
<div class="block">The ascii transfer mode.  Its value is 0 and equivalent to NETASCII_MODE</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.net.tftp.TFTP.ASCII_MODE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="NETASCII_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NETASCII_MODE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.58">NETASCII_MODE</a></pre>
<div class="block">The netascii transfer mode.  Its value is 0.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.net.tftp.TFTP.NETASCII_MODE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="BINARY_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BINARY_MODE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.63">BINARY_MODE</a></pre>
<div class="block">The binary transfer mode.  Its value is 1 and equivalent to OCTET_MODE.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.net.tftp.TFTP.BINARY_MODE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="IMAGE_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IMAGE_MODE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.68">IMAGE_MODE</a></pre>
<div class="block">The image transfer mode.  Its value is 1 and equivalent to OCTET_MODE.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.net.tftp.TFTP.IMAGE_MODE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="OCTET_MODE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OCTET_MODE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.73">OCTET_MODE</a></pre>
<div class="block">The octet transfer mode.  Its value is 1.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.net.tftp.TFTP.OCTET_MODE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DEFAULT_TIMEOUT">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_TIMEOUT</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.79">DEFAULT_TIMEOUT</a></pre>
<div class="block">The default number of milliseconds to wait to receive a datagram
 before timing out.  The default is 5000 milliseconds (5 seconds).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.net.tftp.TFTP.DEFAULT_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DEFAULT_PORT">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_PORT</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.84">DEFAULT_PORT</a></pre>
<div class="block">The default TFTP port according to RFC 783 is 69.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.net.tftp.TFTP.DEFAULT_PORT">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="TFTP()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TFTP</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.127">TFTP</a>()</pre>
<div class="block">Creates a TFTP instance with a default timeout of DEFAULT_TIMEOUT,
 a null socket, and buffered operations disabled.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getModeName(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getModeName</h4>
<pre>public static final&nbsp;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.118">getModeName</a>(int&nbsp;mode)</pre>
<div class="block">Returns the TFTP string representation of a TFTP transfer mode.
 Will throw an ArrayIndexOutOfBoundsException if an invalid transfer
 mode is specified.
 <p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mode</code> - The TFTP transfer mode.  One of the MODE constants.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The TFTP string representation of the TFTP transfer mode.</dd></dl>
</li>
</ul>
<a name="discardPackets()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discardPackets</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.141">discardPackets</a>()
                          throws <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This method synchronizes a connection by discarding all packets that
 may be in the local socket buffer.  This method need only be called
 when you implement your own TFTP client or server.
 <p></div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs.</dd></dl>
</li>
</ul>
<a name="bufferedReceive()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bufferedReceive</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a>&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.197">bufferedReceive</a>()
                                 throws <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                        <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a>,
                                        <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a>,
                                        <a href="../../../../../org/apache/commons/net/tftp/TFTPPacketException.html" title="class in org.apache.commons.net.tftp">TFTPPacketException</a></pre>
<div class="block">This is a special method to perform a more efficient packet receive.
 It should only be used after calling
 <a href="../../../../../org/apache/commons/net/tftp/TFTP.html#beginBufferedOps()"><code>beginBufferedOps() </code></a>.  beginBufferedOps()
 initializes a set of buffers used internally that prevent the new
 allocation of a DatagramPacket and byte array for each send and receive.
 To use these buffers you must call the bufferedReceive() and
 bufferedSend() methods instead of send() and receive().  You must
 also be certain that you don't manipulate the resulting packet in
 such a way that it interferes with future buffered operations.
 For example, a TFTPDataPacket received with bufferedReceive() will
 have a reference to the internal byte buffer.  You must finish using
 this data before calling bufferedReceive() again, or else the data
 will be overwritten by the the call.
 <p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The TFTPPacket received.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></code> - If a socket timeout occurs.  The
       Java documentation claims an InterruptedIOException is thrown
       on a DatagramSocket timeout, but in practice we find a
       SocketException is thrown.  You should catch both to be safe.</dd>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code> - If a socket timeout occurs.  The
       Java documentation claims an InterruptedIOException is thrown
       on a DatagramSocket timeout, but in practice we find a
       SocketException is thrown.  You should catch both to be safe.</dd>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If some other I/O error occurs.</dd>
<dd><code><a href="../../../../../org/apache/commons/net/tftp/TFTPPacketException.html" title="class in org.apache.commons.net.tftp">TFTPPacketException</a></code> - If an invalid TFTP packet is received.</dd></dl>
</li>
</ul>
<a name="bufferedSend(org.apache.commons.net.tftp.TFTPPacket)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bufferedSend</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.225">bufferedSend</a>(<a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a>&nbsp;packet)
                        throws <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This is a special method to perform a more efficient packet send.
 It should only be used after calling
 <a href="../../../../../org/apache/commons/net/tftp/TFTP.html#beginBufferedOps()"><code>beginBufferedOps() </code></a>.  beginBufferedOps()
 initializes a set of buffers used internally that prevent the new
 allocation of a DatagramPacket and byte array for each send and receive.
 To use these buffers you must call the bufferedReceive() and
 bufferedSend() methods instead of send() and receive().  You must
 also be certain that you don't manipulate the resulting packet in
 such a way that it interferes with future buffered operations.
 For example, a TFTPDataPacket received with bufferedReceive() will
 have a reference to the internal byte buffer.  You must finish using
 this data before calling bufferedReceive() again, or else the data
 will be overwritten by the the call.
 <p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>packet</code> - The TFTP packet to send.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If some  I/O error occurs.</dd></dl>
</li>
</ul>
<a name="beginBufferedOps()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beginBufferedOps</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.239">beginBufferedOps</a>()</pre>
<div class="block">Initializes the internal buffers. Buffers are used by
 <a href="../../../../../org/apache/commons/net/tftp/TFTP.html#bufferedSend(org.apache.commons.net.tftp.TFTPPacket)"><code>bufferedSend() </code></a> and
 <a href="../../../../../org/apache/commons/net/tftp/TFTP.html#bufferedReceive()"><code>bufferedReceive() </code></a>.  This
 method must be called before calling either one of those two
 methods.  When you finish using buffered operations, you must
 call <a href="../../../../../org/apache/commons/net/tftp/TFTP.html#endBufferedOps()"><code>endBufferedOps() </code></a>.</div>
</li>
</ul>
<a name="endBufferedOps()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>endBufferedOps</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.252">endBufferedOps</a>()</pre>
<div class="block">Releases the resources used to perform buffered sends and receives.</div>
</li>
</ul>
<a name="send(org.apache.commons.net.tftp.TFTPPacket)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre>public final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.267">send</a>(<a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a>&nbsp;packet)
                throws <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Sends a TFTP packet to its destination.
 <p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>packet</code> - The TFTP packet to send.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If some  I/O error occurs.</dd></dl>
</li>
</ul>
<a name="receive()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>receive</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/commons/net/tftp/TFTPPacket.html" title="class in org.apache.commons.net.tftp">TFTPPacket</a>&nbsp;<a href="../../../../../src-html/org/apache/commons/net/tftp/TFTP.html#line.288">receive</a>()
                         throws <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a>,
                                <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a>,
                                <a href="../../../../../org/apache/commons/net/tftp/TFTPPacketException.html" title="class in org.apache.commons.net.tftp">TFTPPacketException</a></pre>
<div class="block">Receives a TFTPPacket.
 <p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The TFTPPacket received.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></code> - If a socket timeout occurs.  The
       Java documentation claims an InterruptedIOException is thrown
       on a DatagramSocket timeout, but in practice we find a
       SocketException is thrown.  You should catch both to be safe.</dd>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketException.html?is-external=true" title="class or interface in java.net">SocketException</a></code> - If a socket timeout occurs.  The
       Java documentation claims an InterruptedIOException is thrown
       on a DatagramSocket timeout, but in practice we find a
       SocketException is thrown.  You should catch both to be safe.</dd>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If some other I/O error occurs.</dd>
<dd><code><a href="../../../../../org/apache/commons/net/tftp/TFTPPacketException.html" title="class in org.apache.commons.net.tftp">TFTPPacketException</a></code> - If an invalid TFTP packet is received.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TFTP.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/net/tftp/TFTPAckPacket.html" title="class in org.apache.commons.net.tftp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/net/tftp/TFTP.html" target="_top">Frames</a></li>
<li><a href="TFTP.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
